package cn.outsourcing.supermarket.service;

import cn.outsourcing.supermarket.dto.AdminMemoDTO;
import cn.outsourcing.supermarket.dto.OnlyIdPayloadDTO;
import cn.outsourcing.supermarket.dto.backstage.BackstageAdminInfoDTO;
import cn.outsourcing.supermarket.dto.backstage.BackstageUserInfoDTO;
import cn.outsourcing.supermarket.po.HiolabsAdmin;
import cn.outsourcing.supermarket.vo.backstage.LoginResultVO;
import cn.outsourcing.supermarket.vo.hiolabs.HiolabsAdminVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 服务类
 *
 * @author gzkemays
 * @since 2021-10-25
 */
public interface HiolabsAdminService extends IService<HiolabsAdmin> {
  /**
   * 后台管理系统登录
   *
   * @param userInfoDTO 账号密码
   * @return 登录信息
   */
  LoginResultVO login(BackstageUserInfoDTO userInfoDTO);

  /**
   * 检查 token 登录信息
   *
   * @return OK 则校验成功，否则校验失败。
   */
  String checkLogin();

  /**
   * 管理员订单备注
   *
   * @param dto 备注信息
   * @return 是否备注成功
   */
  Integer orderMemo(AdminMemoDTO dto);

  /**
   * 获取管理员信息列表
   *
   * @return 管理员信息列表
   */
  List<HiolabsAdminVO> getAdminList();

  /**
   * 获取用户详情信息
   *
   * @param dto 用户id
   * @return 详情信息
   */
  HiolabsAdminVO getAdminInfo(OnlyIdPayloadDTO dto);

  /**
   * 修改密码
   *
   * @param dto 信息入参
   * @return 是否修改成功
   */
  Integer adminSave(BackstageAdminInfoDTO dto);
}
